/**
 * 生成表
 */
interface GenTableRecord extends ColumnRecord {
  /** 生成业务名 */
  businessName?: string;
  /** 实体 */
  className?: string;
  /**  */
  columns?: Array<GenColumnRecord>;
  /** 创建人 */
  createBy?: string;
  /** 创建时间 */
  createTime?: string;
  /**  */
  crud?: string;
  /** 作者 */
  functionAuthor?: string;
  /** 生成功能名 */
  functionName?: string;
  /** 自定义路径 */
  genPath?: string;
  /** 生成代码方式 */
  genType?: string;
  /** 生成模块名 */
  moduleName?: string;
  /**  */
  options?: string;
  /** 生成包路径 */
  packageName?: string;
  /** 上级菜单 */
  parentMenuId?: string;
  /**  */
  parentMenuName?: string;
  /**  */
  pkColumn?: string;
  /** 备注 */
  remark?: string;
  /**  */
  sub?: string;
  /**  */
  subTable?: string;
  /** 子表关联的外键名 */
  subTableFkName?: string;
  /** 关联子表的表名 */
  subTableName?: string;
  /** 表描述 */
  tableComment?: string;
  /** 表Id */
  tableId?: string;
  /** 表名称 */
  tableName?: string;
  /** 生成模板 */
  tplCategory?: string;
  /**  */
  tplWebType?: string;
  /** 树表 */
  tree?: boolean;
  /** 其他信息 */
  treeCode?: string;
  /** 树名称字段 */
  treeName?: string;
  /** 树父编码字段 */
  treeParentCode?: string;
  /** 变更人 */
  updateBy?: string;
  /** 变更时间 */
  updateTime?: string;
}

/**
 * 表字段
 */
interface GenColumnRecord {
  /** java属性 */
  capJavaField?: string;
  /** 字段描述 */
  columnComment?: string;
  /** 字段Id */
  columnId?: number;
  /** 字段列名 */
  columnName?: string;
  /** 物理类型 */
  columnType?: string;
  /** 创建人 */
  createBy?: string;
  /** 创建时间 */
  createTime?: string;
  /** 字典类型 */
  dictType?: string;
  /**  */
  edit?: boolean;
  /** 显示类型 */
  htmlType?: string;
  /**  */
  increment?: boolean;
  /**  */
  insert?: boolean;
  /** 编辑 */
  isEdit?: string;
  /**  */
  isIncrement?: string;
  /** 插入 */
  isInsert?: string;
  /** 列表 */
  isList?: string;
  /**  */
  isPk?: string;
  /** 查询 */
  isQuery?: string;
  /** 必填 */
  isRequired?: string;
  /** java属性 */
  javaField?: string;
  /** Java类型 */
  javaType?: string;
  /**  */
  list?: boolean;
  /**  */
  pk?: boolean;
  /**  */
  query?: boolean;
  /** 查询方式 */
  queryType?: string;
  /**  */
  remark?: string;
  /**  */
  required?: boolean;
  /**  */
  sort?: number;
  /**  */
  superColumn?: boolean;
  /** 表ID */
  tableId?: number;
  /** 变更人 */
  updateBy?: string;
  /** 变更时间 */
  updateTime?: string;
  /**  */
  usableColumn?: string;
}

/**
 * 代码生成详情
 */
interface GenInfoRecord {
  /** 生成详情 */
  info: GenTableRecord;
  /** 表格字段 */
  rows: GenColumnRecord[];
  /** 表格信息 */
  tables: GenTableRecord[];
}